package com.ruoyi.system.service;

import java.util.List;

import com.huaweicloud.sdk.frs.v2.model.DeleteFaceByFaceIdResponse;
import com.huaweicloud.sdk.frs.v2.model.ShowFacesByFaceIdResponse;
import com.huaweicloud.sdk.frs.v2.model.UpdateFaceResponse;
import com.ruoyi.system.domain.FaceSetFace;
import com.ruoyi.system.domain.dto.UpdateFaceByFaceId;

/**
 * 系统人脸集Service接口
 * 
 * @author ruoyi
 * @date 2025-05-05
 */
public interface IFaceSetFaceService 
{
    /**
     * 查询系统人脸集
     * 
     * @param id 系统人脸集主键
     * @return 系统人脸集
     */
    public FaceSetFace selectFaceSetFaceById(Long id);

    /**
     * 查询系统人脸集列表
     * 
     * @param faceSetFace 系统人脸集
     * @return 系统人脸集集合
     */
    public List<FaceSetFace> selectFaceSetFaceList(FaceSetFace faceSetFace);

    /**
     * 新增系统人脸集
     * 
     * @param faceSetFace 系统人脸集
     * @return 结果
     */
    public int insertFaceSetFace(FaceSetFace faceSetFace);

    /**
     * 修改系统人脸集
     * 
     * @param faceSetFace 系统人脸集
     * @return 结果
     */
    public int updateFaceSetFace(FaceSetFace faceSetFace);

    /**
     * 批量删除系统人脸集
     * 
     * @param ids 需要删除的系统人脸集主键集合
     * @return 结果
     */
    public int deleteFaceSetFaceByIds(Long[] ids);

    /**
     * 删除系统人脸集信息
     * 
     * @param id 系统人脸集主键
     * @return 结果
     */
    public int deleteFaceSetFaceById(Long id);

    DeleteFaceByFaceIdResponse removeFace(String faceId, String faceSetName);

    UpdateFaceResponse updateFaceByFaceId(UpdateFaceByFaceId dto);

    ShowFacesByFaceIdResponse showFacesByFaceId(String faceId, String faceSetName);
}
